01. NoSQL Databases

JavaND#305 C03 L03 A01 NoSQL Databases

Introduction Recap

Relational databases use structured query language (SQL) for defining and manipulating data. On one hand, this is extremely powerful: SQL is one of the most versatile and widely-used options available, making it a safe choice and especially great for complex queries. On the other hand, it can be restrictive. SQL requires that you use predefined schemas to determine the structure of your data before you work with it. In addition, all of your data must follow the same structure. This can require significant up-front preparation and it can mean that a change in the structure would be both difficult and disruptive to your whole system.

A NoSQL database, is self-describing and has a dynamic schema for unstructured data, and data is stored in many ways: it can be column-oriented, document-oriented, graph-based or organized as a key-value store.

This flexibility means,
You can create documents without having to first define their structure
Each document can have its own unique structure
The syntax can vary from database to database, and
You can add fields as you go.